package com.centon.auto_code.project.service;

import com.centon.auto_code.project.vo.ProFileVo;
import com.centon.auto_code.project.vo.ProProjectVo;
import com.centon.auto_code.project.vo.ProTableVo;
import com.centon.auto_code.vo.BaseRes;
import com.centon.auto_code.vo.PageData;

import java.util.List;

public interface ProjectService {
    BaseRes<PageData<ProProjectVo>> entityPage(ProProjectVo projectVo);

    BaseRes<ProProjectVo> getEntityInfo(String id);

    BaseRes<String> addEntityInfo(ProProjectVo projectVo);

    BaseRes<String> modifyEntityInfo(ProProjectVo projectVo);

    BaseRes<String> delEntityInfo(String id);

    BaseRes<String> genProject(ProProjectVo proProjectVo);

    BaseRes<String> fetchProjectFileTree(String projectId, String packageType, String moduleId);

    BaseRes<List<ProFileVo>> fetchFileByClassType(String projectId, String fileType);

    BaseRes<String> addFile(ProFileVo proFileVo);

    BaseRes<ProFileVo> modifyFileInfo(ProFileVo proFileVo);

    BaseRes<ProFileVo> fetchFileInfo(String fileId);

    BaseRes<String> delFileById(String fileId);

    BaseRes<ProFileVo> fetchFileWithFieldByVoId(String id);
}
